3.3 疑似コードによる命令動作の記述
本文書では一部の命令の動作を疑似コードで記述してある。 疑似コードの文法を厳密には定義しないが以下のルールに従って記述する。
MEMはMN-Core 2ボードの各階層のメモリ要素をまとめた構造体である for cycleとあるときcycleの値それぞれでPE命令の各サイクルで起きることを示す forall group,forall l2b,forall l1b,forall mab,forall peはそれぞれfor group = 0:4,for l2b = 0:2, ...などの略記である
forallの直接のネストはforall chip,l2b,l1bなどと略記する
次の関数を用いる
refer_pemem(mem, cycle)
refer_matreg(side, wl)
行列レジスタの面はxかyのいずれか
要素の語長はLongWord、ShortWord、HalfWordのいずれか*^1
get_unit_value(rrn_opcode)
具体的には演算がfadd, iadd, bor, lorならall 0、演算がmax, band, landならall 1、演算がminならその演算精度における符号あり整数の最大値である
*^1 行列レジスタのひとつの面について、書き込みと読み出しで語長指定が一致していない場合は未定義動作である